package com.aizuda.boot.modules.third.wps.domain.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import java.util.Map;

/**
 * @author hjw
 * @description WPS 获取文件下载地址返回对象
 * @date 2025年06月13日 16:33
 */
@Data
@AllArgsConstructor
@Schema
@Builder
public class FileDownloadVo {

    @Schema(description = "文档下载地址，该地址需确保外网可访问且排除访问时防火墙的限制")
    @JsonProperty("url")
    private String url;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Schema(description = "文档校验和 (checksum)")
    @JsonProperty("digest")
    private String digest;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Schema(description = "文档校验和类型，默认为 md5")
    @JsonProperty("digest_type")
    private String digestType;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    @Schema(description = "请求文档下载地址所需要的额外请求头，例如某些云存储商会要求额外的签名头等")
    @JsonProperty("headers")
    private Map<String, String> headers;

}
